package com.xlf.pojo.base;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.xlf.pojo.mode.BaseEntity;
import com.xlf.pojo.vo.UserVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 *
 * @TableName problem_list
 */
@TableName(value ="problem_list")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ProblemList extends BaseEntity implements Serializable {
    /**
     *
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     *
     */
    private String title;

    /**
     *
     */
    private String description;

    /**
     * 外键，题单创建者
     */
    private Long userId;

    /**
     * 训练题单权限类型：0. Public、1. Private
     */
    private Integer auth;

    /**
     * 训练题单权限为Private时的密码
     */
    private String privatePwd;

    /**
     * 编号，升序
     */
    private Integer rank;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 题目列表
     */
    @TableField(exist = false)
    private List<Long> problemIds;


    @TableField(exist = false)
    private List<Problem> problemList;

    /**
     * 题目数量
     */
    @TableField(exist = false)
    private Integer problemNum;

    /**
     * 用户
     */
    @TableField(exist = false)
    private UserVO userVO;


    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
